class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_set<char> hash;
        int left=0;
        int res=0;
        for(int i=0;i<s.size();i++)
        {
            while(hash.find(s[i])!=hash.end())
            {
                hash.erase(s[left]);
                left++;
            }
            res=max(res,i-left+1);
            hash.insert(s[i]);
        }
        return res;
    }
};
